#!/usr/bin/env python
# coding: utf-8

# ## 图像主体检测
# > 检测图片中的主体，支持单主体检测、多主体检测。可识别出图片中主体的位置和标签，方便裁剪出对应主体的区域，用于后续图像处理、海量图片分类打标等场景。

# #### 可适用场景
# * 智能美图：根据用户上传照片进行主体检测，实现图像裁剪或背景虚化等功能，可应用于含美图功能app等业务场景中
# * 图像识别辅助：可使用图像主体检测裁剪出图像主体区域，配合图像识别接口提升识别精度
# * 图片主体定位、打标：检测出图片中多个主体的坐标位置，并给出主体的大类标签和标签的置信度得分，对海量图片进行分类、打标签
# 

# ### 获取Access Token

# In[11]:



# encoding:utf-8
import requests 

# client_id 为官网获取的AK， client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?'
# 准备url参数（酬载）
payload = {
    'grant_type':'client_credentials',
    'client_id':'VgHNKRwYOwbjDwYmY8I2jEam',
    'client_secret':'CG2W9YaWTSEH292jKfOAIsc64PcM3M7m'
    
    
}
response = requests.get(host, params=payload )
if response:
    print(response.json())
    access_token = response.json()['access_token']


# In[12]:


access_token


# ### 图像单主体检测
# > 检测出图片中最突出的主体坐标位置，可使用该接口裁剪出图像主体区域，配合图像识别接口提升识别精度

# In[13]:


import requests
import base64

'''
图像单主体检测
'''

request_url = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/object_detect'
# 二进制方式打开图片文件
f = open('danren.jpg', 'rb')
img = base64.b64encode(f.read())

payload={
    'access_token':access_token,
    'image':img,
    'baike_num':5,
    'top_num':5
}



headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=payload, headers=headers)
if response:
    print (response.json())


# #### 图像多主体检测
# > 检测出图片中多个主体的坐标位置，并给出主体的分类标签和标签的置信度得分，共计16大类，可用于图片打标、裁剪出对应主体进行二次开发

# In[14]:


import requests
import base64

'''
图像多主体检测
'''

request_url = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/multi_object_detect'
# 二进制方式打开图片文件
f = open('guoshu.jpg', 'rb')
img = base64.b64encode(f.read())

payload={
    'access_token':access_token,
    'image':img,
    'baike_num':5,
    'top_num':5
}



headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=payload, headers=headers)
if response:
    print (response.json())


# In[ ]:




